Traditional collaborative editing tends to be performed serially. Users take turns accessing a document, editing the document, and storing their edits. The accessing user may place a lock on the file to inhibit other users from editing the document when the accessing user is editing the document. The iterative editing process can cause delays since each user may wait for a turn at editing the document. In addition, the iterative editing process may be difficult to manage. For example, each user may need to keep track of who is editing which portions of the document, which version of the document is the most recent, and when the user will have a turn.
In other types of traditional collaborative editing, each user can edit a different copy of a document. Subsequently, all of the edited copies may be merged into a single document. This large scale merge also may cause delays, lead to numerous editing conflicts, and/or be difficult to manage. For example, the user responsible for merging the documents may be required to track the relationship between the documents. The user also may be responsible for resolving conflicts among two or more of the edited copies.
It is with respect to these and other considerations that the present disclosure has been made.